﻿//using System;
//using System.Collections.Generic;
//using System.Linq.Expressions;
//using System.Text;

//namespace DBUtil.FastEntity.Interface
//{
//    /// <summary>
//    /// 表示Group By子句
//    /// </summary>
//    /// <typeparam name="TKey"></typeparam>
//    /// <typeparam name="T"></typeparam>
//    public interface IGroupByClause<TKey, T> where T : class
//    {
//        /// <summary>
//        /// 分组的关键列
//        /// </summary>
//        TKey Key { set; get; }

//        /// <summary>
//        /// 分组内的其他列
//        /// </summary>
//        T Value { set; get; }

//        /// <summary>
//        /// 分组过滤
//        /// </summary>
//        /// <param name="expression"></param>
//        /// <returns></returns>
//        IHavingClause<IGroupAggregate<TKey, T>> Having(Expression<Func<IGroupAggregate<TKey, T>, bool>> expression);

//        /// <summary>
//        /// 生成Select子句
//        /// </summary>
//        /// <typeparam name="TViewModel"></typeparam>
//        /// <param name="expression"></param>
//        /// <returns></returns>
//        ISelectClause<TViewModel> SelectClause<TViewModel>(Expression<Func<IGroupAggregate<TKey, T>, TViewModel>> expression) where TViewModel : class, new();
//    }
//}
